macOS標準添付「Automator」で、右クリックから画像を一括リサイズする環境を手に入れる
弊社のような環境にいると、複数の画像を一律で一定のサイズに縮小したいという場面がよくあります(主にブログ書き的な意味で)。
個人的な需要としては、だいたいは撮影したプレゼンテーションのスクリーンの画像を同じサイズにそろえたい、という場面で、少ない枚数であれば Skitch みたいなアプリを使って手作業で縮小していいのですが、枚数が多くなったり、AWS Summit や re:Invent の時ような お祭り イベント時に少しでも早く仕上げたいときなどにはやってられなくなります。
品質が求められるのであれば Adobe Photoshop の Action 機能を使う1など、いろいろなやり方があってそれぞれ特徴も品質も操作性も一長一短だと思うのですが2、ここでは macOS に備わっている Automator という自動化機能を使う方法をご紹介します。
この方法ですと、いちいちターミナルやアプリを開いたりせずに済むので個人的に重宝しています。
使い方(およびこの記事のゴール)
Finderでリサイズしたい画像を選択して右クリックすると、
メニューが現れるのでそこで「リサイズしてダウンロードフォルダへ(1200)」を選択。すると「ダウンロード」フォルダ内に、リサイズされ長辺が 1200 ピクセルにそろった画像が複製される(名前の末尾に _1200
が付与される)・・・
このような環境の構築を目指します。保存場所がダウンロードフォルダであったり 1200pixel だったりなのは個人的な需要なので3、他の場所・サイズがよければ適宜読み替えて下さい。
なお、今回の方法は「長辺を 1200pix にリサイズする」という挙動なので、画像の縦横比はたもったまま、横長の画像であれば横が、縦長であれば縦が 1200pix になります。また元画像が 1200 より小さい場合、このサイズまで引き延ばされてしまいます。
また品質にこだわった機能ではないので、意図しない出来・挙動になる可能性もあります。予めご了承下さい。
設定方法
Automator の起動と新規作成
まずは Automator を起動しましょう。Launchpad や Spotlight など好きな方法で「Automator
」を検索し起動してください。
ターミナルからならこうですね。
$ open -a automator
起動すると、新規書類の作成画面が表示されるかと思います。
されない場合は、「ファイル」メニューから「新規」をクリックして下さい。
今回は右クリックから起動する Automator を作成するので、この画面で「 サービス 」(歯車アイコン)をクリックして下さい。
ワークフローの作成
Automator は、行いたい処理を左から選び、右側に並べていくことでワークフローを構築します。
まずは「最初に何を」を指定しないとならないので、「"サービス"は、次の項目を受け取る」のところを イメージファイル に変更して下さい。
次に左側のカラムから「Finder項目をコピー」を探し、右側のペインにドラッグアンドドロップします。
保存先は当初の予定通り「ダウンロード」フォルダを選択します。「既存のファイルを置き換える」にはチェック しないで ください。
その下に「Finder項目の名前を変更」をドラッグアンドドロップします。リサイズした画像には末尾に「_1200」と付いて欲しいので、
- 「テキストを追加」
- 追加するテキストに
_1200
と入力、「名前の後に追加」を指定します
一応これでも良いのですが欠点もあります。もともとダウンロードフォルダに保存されていた、例えば「 Image.jpg
」のようなファイルにこれを実行すると、「 Imageのコピー_1200.jpg
」となってしまいます。
実際のところ「 Image_1200.jpg
」になってほしいので、テキストの置き換えを挟みます。別のフォルダから実行した場合は無視されるので問題ありません。再度「Finder項目の名前を変更」をドラッグアンドドロップして繋げ、下記のように設定します。
- 「テキストを置き換える」
- 検索文字列:「
のコピー_1200
」 検索対象:「基本名のみ」 - 置換文字列:「
_1200
」
最後にリサイズするための処理をいれます。「イメージをサイズ調整」をその下につなげて下さい。
- 「サイズ(ピクセル)指定」「
1200
」
ちなみにこのとき、下記のようなダイアログが表示されると思いますので「いいえ」を選択して下さい。編集前に複製するかというメッセージですが今回は(最初に複製しているので)不要です。
以上で完成です。全体はこのようになっているかと思います。
保存
問題がなければ保存します。command
+S
でもいいし、ファイルメニューから「保存」を選んでもいいです。
保存するファイル名を聞いてきますが、これがそのまま右クリック(コンテキスト)メニューに表示される名前になります。ここでは「 リサイズしダウンロードフォルダへ(1200) 」としました。もっと分かりやすい名前でも、短い名前でもいいです。
完成
以上で完成です。適当な画像を Finder で選択して右クリックしてみてください。
補足:右クリックで表示されない場合
お使いの環境によっては、「サービス」というサブメニューにまとめられてしまう場合があります。右クリックメニューには 4項目しか追加されず、画像については最初から「デスクトップピクチャを設定」というメニューがあるので残りは3項目分となっています。
もしどうしてもサブメニューではなく、1段目に表示させたい場合は、不要なサービスをメニューから取り除くと良いです。
「システム環境設定」から「キーボード」を選択し、「ショートカット」タブを表示させて下さい。
左のペインで「サービス」を選択し、表示された右ペインで不要なサービスを探してチェックを外して下さい。例えば「デスクトップピクチャを設定」項目は「ピクチャ」の欄にあります。
まとめ
Finderから画像を一括してリサイズできるようにしました。
Automator だと「フォルダアクション」という機能の方が有名で、これは特定のフォルダに保存したら何かをする、というものです。わたしも最初この機能をそちらで作っていたのですが、ファイルを複製したりファイル名を変更したりすると、新しいファイルが保存されたと判断されて再度アクションが動いてしまう。。。という挙動を乗り越えられなかったので右クリックにしました。今ではこちらのほうが使いやすいと思ってます。
ホワイトバランスやレベルの補正が必要な場合はまた別のアプリなりが必要です4し、また Finder からではなくてターミナルが使いたい、特定フォルダ内の画像を一括で処理したい。。などの場合は、また別の方法が良いかと思います。いずれにしてもケースバイケースですので、この方法も選択肢の一つ程度に捉えて頂けますと幸いです。
注釈
- GIMP にも同様の機能があるようなので、GIMP 使いのひとはそちらでもいいかもです。 ↩
- CLI なら ImageMagickやffmpeg、アプリだと iMage Tools など。macOS 標準のプレビューでも出来るそうです。 ↩
- 例えば、様々な理由から画像の横サイズは 1280pixel が良い、というかたも多いでしょう ↩
- 最近使い始めた Affinity Photo は、 Photoshop や GIMP ほど重量級ではないので気に入っていますが、自動でよしなにやってくれるところが少ないのである程度の割り切りが必要です ↩